Switch to codesearch static theme on Fess 15.7#2
Merged
Conversation
…es; template-based system.properties; fetch theme from fess-themes
…lasticsearch, ignore scratch/bulk and legacy theme assets)
…verlay
Generate data/fess/opt/fess/fess_config.properties from the upstream base
(pinned by FESS_VERSION in .env) plus conf/fess_config.overlay.properties,
instead of -Dfess.config.* flags. Restores the source-code aware
index.filetype map (a multi-line value that cannot be passed as a -D flag)
and keeps only the codesearch delta in git; the base auto-tracks the pinned
Fess version on upgrade. Secrets stay out of git via the optional,
git-ignored conf/fess_config.local.properties.
- .env: single source of truth for FESS_VERSION / OPENSEARCH_VERSION,
used by compose.yaml image tags and the config base fetch
- bin/render-fess-config.sh: fetch base (cached per version), strip
overridden keys (handling backslash continuations), append overlay/local
- bin/setup.sh: run the renderer after generating system.properties
- compose.yaml: drop the -Dfess.config.* block; use ${FESS_VERSION} / ${OPENSEARCH_VERSION}
- README: document the overlay workflow, secrets, and version upgrades
…0); bump fess-ds-git to 15.7.0
setup.sh clones the branch named by FESS_THEMES_BRANCH (default: main) so the codesearch theme can be fetched from the unmerged fess-themes PR #23 (branch feat/codesearch-theme) for testing. Document the override in README.
…r theme merge - .env: OPENSEARCH_VERSION 3.6.0 -> 3.7.0 - compose.yaml: remove internal TODO comment (theme mount path is verified) - README: drop the obsolete fess-themes PR-branch note (theme merged to main); replace the first-run note; fix the access-token guide link to 15.7; note the ACCESS_TOKEN/jq requirements for register_github.sh; clarify the Data Crawler step; add a re-index note under Updating - setup.sh: make FESS_THEMES_BRANCH comments generic now that the theme is merged
Replace the custom curl helper with the official Fess admin-API CLI (codelibs/fessctl). - README: install/configure fessctl (pipx/uv), register a repo via 'fessctl dataconfig create' (GitDataStore with the codesearch handler-script that fills organization/repository/filetype facets), and crawl via 'fessctl scheduler start default_crawler' (crawls all data configs, no restart). - Remove bin/register_github.sh (superseded by fessctl). - Add fessctl to the Architecture overview; update the re-index note to use it.
…repo
One-command convenience wrapper around fessctl:
- auto-detects the repository's default branch (git ls-remote)
- builds the codesearch GitDataStore config (handler-script fills the
organization/repository/filetype facets) and creates it via 'fessctl dataconfig create'
- starts the Default Crawler ('fessctl scheduler start default_crawler')
- flags + env + defaults (FESS_ENDPOINT/FESS_ACCESS_TOKEN/FESS_VERSION), --help,
--no-crawl, --domain/--branch/--owner/--homepage
- idempotent (skips create if the data store already exists); validates deps
(fessctl, git, python3) and inputs
The README fessctl steps remain the primary reference; this script just bundles them.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Migrates docker-codesearch to the new
codesearchstatic theme on Fess 15.7, replacing the legacy JSP theme plugin. Configuration is consolidated intocompose.yaml, andsystem.propertiesmoves to a tracked template + generated live file.Changes
fess:14.17.0 → 15.7.0,fess-opensearch:2.17.1 → 3.6.0(the 15.7 pairing; implies a re-index on first run).theme.default—theme.default=codesearchinsystem.propertiesreplaces the previous virtual-host (virtual.host.value=...=codesearch) theme routing.-Dfess.config.*—data/fess/opt/fess/fess_config.propertiesis removed; its codesearch-specific settings move toFESS_JAVA_OPTSincompose.yaml, including the criticalquery.additional.api.response.fields=domain,organization,repository,path,repository_url,owner,homepageso the static theme's/api/v2calls return the seven code fields. The customindex.filetypemap is dropped in favor of the Fess 15.7 default (it cannot be expressed as a-Doption).system.propertiestemplate pattern —system.propertiesis runtime-mutated by Fess, so a trackedsystem.properties.templateis added;.gitignoreignores the live file;setup.shgenerates it from the template when missing.setup.shfetches the theme fromfess-themes— clonescodelibs/fess-themes, packagescodesearch, and unpacks it into the themes dir. The legacyfess-theme-codesearchJSP plugin download andview/css/imagesunpacking are removed.git_pull.shremoved — its only purpose was stashing the now-untrackedsystem.properties; use plaingit pull. Operations are documented inREADME.md.Dependency
setup.shpulls thecodesearchtheme from themainbranch ofcodelibs/fess-themes— the companion fess-themes PR must be merged first.Remaining live verification
/usr/share/fess/app/themes/codesearchis the current assumption) once running.bin/setup.sh && docker compose up -d, register a sample repository, confirm the codesearch theme renders with code cards + facets, and/api/v2/searchreturns the seven fields.